Wireless identifiers for proximity applications

ABSTRACT

A proximity matching system may use broadcast wireless identifiers transmitted by users&#39; devices to match users with other nearby users. The identifiers may be collected by a plurality of agents, then the identifiers may be matched with pre-defined profiles to generate physically proximate users by a remote service. The group of proximate users may be provided to various applications and consumed with summarized properties or individual properties, depending on the approved privacy settings as selected by the users. In some embodiments, the broadcast wireless identifiers may be personal area network identifiers, local area network identifiers, cellular network identifiers, or other broadcast identifier. In some embodiments, the agents may not establish a peer to peer or other connection with the broadcasting device. The agents may be fixed or mobile agents, and the proximity of users may be generated through links between nearby agents in a meshed fashion.

BACKGROUND

Information about persons in close proximity may enable many differentapplications. Identifying the persons nearby can be difficult,especially considering privacy concerns.

SUMMARY

A proximity matching system may use broadcast wireless identifierstransmitted by users' devices to match users with other nearby users.The identifiers may be collected by a plurality of agents, then theidentifiers may be matched with pre-defined profiles to generatephysically proximate users by a remote service. The group of proximateusers may be provided to various applications and consumed withsummarized properties or individual properties, depending on theapproved privacy settings as selected by the users. In some embodiments,the broadcast wireless identifiers may be personal area networkidentifiers, local area network identifiers, cellular networkidentifiers, or other broadcast identifier. In some embodiments, theagents may not establish a peer to peer or other connection with thebroadcasting device. The agents may be fixed or mobile agents, and theproximity of users may be generated through links between nearby agentsin a meshed fashion.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings,

FIG. 1 is a diagram of an embodiment showing a network environment witha proximity matching system.

FIG. 2 is a flowchart of an embodiment showing a method for groupingdevices for applications.

FIG. 3 is a diagram of an example embodiment showing various connectionsbetween agents and devices.

FIG. 4 is a flowchart of an embodiment showing a method for managinguser profiles.

DETAILED DESCRIPTION

A system determines groups of proximate users by monitoring wirelessbroadcast identifiers and using a remote service to identify groups ofusers. The wireless broadcast identifiers may be gathered by variousagents, which may monitor nearby wireless devices and transmit thewireless identifiers to the remote service. The remote service may matchdevices whose identifiers are received by the same agent, as well asdevices gathered by agents that are determined to be near each other.

The groups of users may have profiles associated with one or morewireless broadcast identifiers, where the profiles may containinformation consumed by various applications. The profiles may becreated and maintained by the users, and the users may identify whatinformation, if any, may be shared with specific applications.

The system may create application consumable information, which mayinclude summarized information or individual information that may beused for various applications. In some embodiments, an application mayexecute on the same hardware platform as a gathering agent.

The matching system may match users whose wireless broadcast identifiersare received by the same gathering agent, and may further match userswhose gathering agents are somehow related or nearby. The gatheringagents may be related by physical proximity when the same wirelessbroadcast identifier is received by two gathering agents, as well aswhen the two gathering agents are able to sense each other usingwireless communications.

The system may gather wireless broadcast identifiers and forward thewireless broadcast identifiers to the remote service without actuallyestablishing two way communications with the user's device. Such asystem may passively monitor the presence of the user's device andenable physical presence-sensitive applications without having the usermanually check in or activate the application.

Throughout this specification, like reference numbers signify the sameelements throughout the description of the figures.

When elements are referred to as being “connected” or “coupled,” theelements can be directly connected or coupled together or one or moreintervening elements may also be present. In contrast, when elements arereferred to as being “directly connected” or “directly coupled,” thereare no intervening elements present.

The subject matter may be embodied as devices, systems, methods, and/orcomputer program products. Accordingly, some or all of the subjectmatter may be embodied in hardware and/or in software (includingfirmware, resident software, micro-code, state machines, gate arrays,etc.) Furthermore, the subject matter may take the form of a computerprogram product on a computer-usable or computer-readable storage mediumhaving computer-usable or computer-readable program code embodied in themedium for use by or in connection with an instruction execution system.In the context of this document, a computer-usable or computer-readablemedium may be any medium that can contain, store, communicate,propagate, or transport the program for use by or in connection with theinstruction execution system, apparatus, or device.

The computer-usable or computer-readable medium may be, for example butnot limited to, an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system, apparatus, device, or propagationmedium. By way of example, and not limitation, computer readable mediamay comprise computer storage media and communication media.

Computer storage media includes volatile and nonvolatile, removable andnon-removable media implemented in any method or technology for storageof information such as computer readable instructions, data structures,program modules or other data. Computer storage media includes, but isnot limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other opticalstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or any other medium which can be used tostore the desired information and which can accessed by an instructionexecution system. Note that the computer-usable or computer-readablemedium could be paper or another suitable medium upon which the programis printed, as the program can be electronically captured, via, forinstance, optical scanning of the paper or other medium, then compiled,interpreted, of otherwise processed in a suitable manner, if necessary,and then stored in a computer memory.

Communication media typically embodies computer readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave or other transport mechanism and includesany information delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wired media such as awired network or direct-wired connection, and wireless media such asacoustic, RF, infrared and other wireless media. Combinations of the anyof the above should also be included within the scope of computerreadable media.

When the subject matter is embodied in the general context ofcomputer-executable instructions, the embodiment may comprise programmodules, executed by one or more systems, computers, or other devices.Generally, program modules include routines, programs, objects,components, data structures, etc. that perform particular tasks orimplement particular abstract data types. Typically, the functionalityof the program modules may be combined or distributed as desired invarious embodiments.

FIG. 1 is a diagram of an embodiment 100, showing an environment inwhich a proximity matching system may operate. Embodiment 100 is asimplified example of a network environment that may include a set ofagent devices that collect wireless identifiers and a device thatoperates a matching service to determine groups of devices. The groupsof devices may be consumed by an application.

The diagram of FIG. 1 illustrates functional components of a system. Insome cases, the component may be a hardware component, a softwarecomponent, or a combination of hardware and software. Some of thecomponents may be application level software, while other components maybe operating system level components. In some cases, the connection ofone component to another may be a close connection where two or morecomponents are operating on a single hardware platform. In other cases,the connections may be made over network connections spanning longdistances. Each embodiment may use different hardware, software, andinterconnection architectures to achieve the described functions.

Embodiment 100 is an example of a matching service that may identifynearby devices and provide various applications with user profiles. Thematching service may receive wireless identifiers from one or morecollection agents, then attempt to match user's proximities by analyzingwhich user's devices were detected by the collection agents.

The collection agents may operate by merely scanning the broadcastwireless identifiers associated with wireless devices. Many differenttypes of wireless devices may have unique identifiers associated withthe devices. Many different types of wireless standards may enforceunique identifiers for each compatible device. For example, Bluetoothpersonal area network (PAN) devices may have unique identifiersassociated with any Bluetooth device. Similarly, each wireless localarea network (LAN) device that operates an IEEE 802.11 or IEEE 802.16device may have a unique Media Access Control (MAC) identifier. In acellular telephone network, each device compatible with the network mayhave an Electronic Serial Number (ESN) that is unique to the device.Many other wireless systems may have other identification schemes.

The wireless devices may continually broadcast their wirelessidentifiers while the devices are turned on and their radios arebroadcasting. The wireless identifiers may be used within the particularwireless standard as part of a mechanism for establishing one-way ortwo-way communications with the device. For example, a Bluetooth devicemay periodically broadcast its identifier so that a listening device mayrecognize the device and establish a pairing with the device, if such apairing has been previously established.

Many wireless standards may have a mechanism for configuring a two-waywireless communication session, and many such standards may have adefined protocol for establishing an initial connection and laterreconnecting with or without user interaction. Such standards mayoperate by detecting the presence of a broadcasting device andautomatically establishing a communication session. The presence may bedetermined when the device broadcasts a unique identifier within rangeof another device operating the same protocol.

The collection agents may operate by gathering merely the broadcastidentifiers from nearby devices. In many embodiments, the agents may notestablish two-way communications or perform any acknowledgment of thepresence of the broadcasting device. The agents may operate in a passivemanner to merely collect identifiers and the users of the broadcastingdevices may not know that the identifiers are being collected.

The broadcasting devices may be any type of radio that transmits anidentifier. In many cases, the identifier may be unique, although someembodiments may use non-unique identifiers.

The matching service may identify nearby devices by analyzing whichdevices are within range of the various collection agents. Two devicesthat are within range of the same collection agent may be considered tobe near each other. When two collection agents are near each other, allof the devices that are within range of the two collection agents may beconsidered to be near each other. Such groupings may be consumed byvarious applications.

In one example application, an application may help attendees at aconference to meet, mingle, and exchange contact information. Theapplication may present the user's pictures on a large screen so thatall of the attendees will know that those people are in the room. Theapplication may consume information from a matching system that detectsuser's wireless device's broadcast identifiers, determining which usersare nearby a collection agent in the conference room, and transmits theuser information to the application.

The matching service may have a set of user profiles to which variousbroadcast identifiers are associated. The user profiles may be amechanism to associate actual user information with one or morebroadcast identifiers of a user's personal wireless devices.

The matching service may assist a user in creating and maintaining auser profile. In a typical use scenario, a user may create a new userprofile or associate an existing user profile with the matching service.The user profile may contain any type of information that a user maywish to share or that an application may consume. When editing aprofile, a user may identify one or more devices to associate with theprofile. The user profile may contain many different device identifiers,including device identifiers from different types of wireless devices.

For example, a user may associate Bluetooth wireless identifiers from acellular telephone, Bluetooth headset, a laptop computer, a Bluetoothidentification dongle, or other Bluetooth device. The same user may alsoregister wireless LAN identifiers for the cellular telephone and laptopcomputer, and may also register a cellular telephone's cellularidentifier as well.

The collection agents may monitor nearby devices on a wirelessconnection and transmit the wireless identifiers to a matching service.The collection agents may be lightweight, simple applications that mayexecute in the background on one or more devices. In some cases, thecollection agents may also collect and transmit location information,such as GPS location information, and transmit the location informationto the matching service.

The collection agents may operate on a device that is fixed or mobile. Afixed device may be a wireless access point, for example, or other fixeddevice. In some embodiments, the location of a collection agent may beknown to the matching service when the collection agent establishescontact with the matching service.

The device 102 may operate as a matching service, and may have a set ofhardware components 104 and software components 106. The client device102 may represent any type of device that may communicate on a network.

The hardware components 104 may represent a typical architecture of acomputing device, such as a desktop or server computer. In someembodiments, the client device 102 may be a personal computer, gameconsole, network appliance, interactive kiosk, or other device. Theclient device 102 may also be a portable device, such as a laptopcomputer, netbook computer, personal digital assistant, mobiletelephone, or other mobile device.

The hardware components 104 may include a processor 108, random accessmemory 110, and nonvolatile storage 112. The processor 108 may be asingle microprocessor, multi-core processor, or a group of processors.The random access memory 110 may store executable code as well as datathat may be immediately accessible to the processor 108, while thenonvolatile storage 112 may store executable code and data in apersistent state.

The hardware components 104 may also include one or more user interfacedevices 114 and network interfaces 116. The user interface devices 114may include monitors, displays, keyboards, pointing devices, and anyother type of user interface device. The network interfaces 116 mayinclude hardwired and wireless interfaces through which the device 102may communicate with other devices.

The software components 106 may include an operating system 118 on whichvarious applications may execute. The device 102 may host a matchingsystem 120 that may receive identifiers 150 for various devices 148 thatare collected by agent devices 138.

The matching system 120 may include an agent communicator 122 that maybe an interface with the various agent devices 138. The agentcommunicator 122 may establish communications with various agents. Foreach agent, the agent communicator 122 may determine the physicallocation of the agent, if available, along with information about theagent.

In some embodiments, the agents may have specific applications thatconsume identifiers for devices in that specific area. For example, anight club may install several agents that collect identifiers forpatrons who visit the night club. The agents associated with the nightclub may register with the matching system 120 through the agentcommunicator 122 to receive certain data about the patrons or to operatea specific application against data collected at the agents.

Each agent may have a known or implied physical location. In someembodiments, an agent may have a Global Positioning System (GPS)receiver or other positioning input. In some cases, the agent may beable to determine a position through Internet Protocol analysis,proximity to other agents, proximity to other hardwired or wirelessdevices, or other mechanism.

In some cases, the agent devices 138 may be in a fixed location. In onesuch embodiment, an agent may be a personal computer, router, wirelessaccess point, or other hardwired device may be physically located in thesame position. In other embodiments, an agent may be a portable laptopor tablet computer, cellular telephone, or other mobile device.

In some embodiments, the agents may not have a known location. In someembodiments, the locations of the agents may be implied when one or moredevices 148 are observed by two agents simultaneously or within a closetime period. Such matching may be performed by the proximity matcher124.

The proximity matcher 124 may be capable of linking various agentstogether into a group. Two agents who simultaneously or within a closetime period sense the same device 148 may be determined by the proximitymatcher 124 to be near each other. In some cases, one agent may be ableto sense another agent. By linking various agents together, the devices148 that are detected by any of the linked agents may be groupedtogether as being physically present.

When a device's identification 150 is captured by an agent andtransmitted to the matching system 120, a profile matcher 126 mayattempt to determine if the identification is known in the user profilesdatabase 132. When there is a match, information about the device oruser associated with the device may be passed to an applicationpreprocessor 128 that may prepare the information for consumption byvarious applications 134.

The applications 134 may consume information regarding the people ordevices 148 in proximity to certain agent devices 138. In a simpleexample, an application 134 may display all of the known people who arein a room. Within the room may be an agent device 138 that may collectbroadcast identifications 150 from various devices 148 that may be inthe room. The application 134 may receive profile information, such asuser's names or a picture of the user, and may display the user namesand pictures on a graphical display.

The applications 134 may be operable on the device 102 in some cases, oras an application 146 on the agent devices 138. In some cases, anapplication 156 may execute on an application device 152 with a separatehardware platform 154.

The matching system 120 may have a profile manager 130. The profilemanager 130 may have a user interface or other mechanism to registerusers and collect information about the various devices 148 that may betracked.

In one embodiment, users may individually register their devices, suchas cellular telephones, Bluetooth headsets, wireless laptop or tabletcomputers, or other devices. In one such embodiment, the user may causetheir device to transmit and a receiver may receive the uniqueidentification for the device over the air. The identification may thenbe stored with the user's information and used to determine when a useris near an agent.

The profile manager 130 may create a profile in the user profilesdatabase 132 that may be used by the profile matcher 126 when a deviceis detected.

The device 102 may connect to various agent devices 138 over a network136. The network 136 may be a local area network, wide area network, theInternet, and may be hardwired, wireless, or a combination of hardwiredand wireless.

The agent devices 138 may execute an agent application 144 on a hardwareplatform 148, which may be like the hardware platform 104 containing aprocessor. The agent application may passively receive identifications150 from various devices 148 nearby and may transmit thoseidentifications 150 to the matching system 120 of device 102.

In some embodiments, the agent applications may be lightweight, simpleprograms that monitor the broadcast identifications and transmit thoseidentifications to the device 102. In some cases, the agent applications144 may periodically collect all of the identifications every fewseconds, minutes, or hours, depending on the embodiment. In someembodiments, the agent applications 144 may operate continuously andtransmit each identification as the identification is received.

In many embodiments, the agent applications 144 may maintain a currentlist of devices 148 within range of the agent device 138. In suchembodiments, the agent application 144 may transmit an identification150 to the device 102 when a device enters and when a device leaves therange of the agent device 138.

In some embodiments, the agent applications 144 may push data to thematching system 120. In such an embodiment, the agent applications 144may determine that there is some data to transmit, and then may transmitthe data.

In other embodiments, the agent applications 144 may operate in a pullmode, where the agent communicator 122 may poll or request informationfrom the agent application 144. In such an embodiment, the agentcommunicator 122 may transmit a request and the agent application 144may transmit a response containing information about the identifications150 that have been recently detected.

The devices 148 may be any type of device that transmits a wirelessidentification 150. For example, a cellular telephone may broadcast anESN periodically, a WiFi enabled device may transmit a MAC address, anda Bluetooth device may transmit a unique identifier.

FIG. 2 is a flowchart illustration of an embodiment 200 showing a methodfor grouping devices for applications. Embodiment 200 is a simplifiedexample of a method that may be performed by an agent 202 in the leftcolumn, a matching system 204 in the center column, and an application206 in the right column.

Other embodiments may use different sequencing, additional or fewersteps, and different nomenclature or terminology to accomplish similarfunctions. In some embodiments, various operations or set of operationsmay be performed in parallel with other operations, either in asynchronous or asynchronous manner. The steps selected here were chosento illustrate some principles of operations in a simplified form.

The agent 202 may be deployed in physical proximity to the users who mayhave registered devices. The agent 202 may also be located in a specificlocation where the application 206 may intend to operate. For example,several agents may be deployed at a sports event and the application 206may track the users or send the users specific information or data aboutthe sports event.

The agent 202 may operate by scanning a wireless port for nearby devices208. The wireless port may be any port or any wireless protocol in whichdevices may broadcast identifier. The wireless identifiers may begathered in block 210 and transmitted in block 212 to the matchingsystem 204, which may receive the identifiers in block 214.

After receiving the identifiers in block 214, each identifier may beprocessed in block 216. For each identifier in block 216, a query to auser profile database may be made to determine if the profile isavailable in block 218. If the profile is not available, the identifiermay be ignored in block 220.

If the profile is available in block 218, the profile may be retrievedand associated with the identifier in block 222.

After processing all of the available identifiers, the identifiers maybe matched to form groups in block 224. The matching process may groupidentifiers that are received by the same agent and by agents near eachother into a group. The matching process may consolidate the resultsfrom two or more agents into a single group.

The application 206 may establish a connection to the matching system204 in block 226. In block 228, the application 206 may transmitmatching criteria, which may be received by the matching system 204 inblock 230. The matching criteria may define any parameter for which agroup of users may be identified. In many cases, the matching criteriamay be a physical location, but the matching criteria may also includeparameters relating to the type of persons identified or otherparameters.

In many embodiments, multiple applications may establish connections tothe matching system 204. Each application may have different criteriafor the type of information that they wish to obtain. For example, oneapplication may want to receive pictures of users that are near specificagents. Another application may want to know only the female users overage 50, in another example.

When multiple applications use a centralized matching service, thematching service may collect information from many different agentslocated across a country or even across the globe. Each application mayregister with the matching service to receive specific types of data ina specific form. In some embodiments, two or more applications mayrequest data derived from the same agents.

In block 232, each application may be processed. For each application inblock 232, groups matching the application's criteria are found in block234 and the data are formatted for the application in block 236. Thedata may be transmitted to the application in block 238, which may bereceived in block 240 and processed in block 242 by the application. Theprocess of block 238 may return to block 232 to process additionalapplications.

FIG. 3 is a diagram of an embodiment 300, showing an example of howproximity determination may operate. Embodiment 300 illustrates variousdevices and agents and represents how the proximity of one device may beinferred by knowing the location of other devices.

Embodiment 300 illustrates a simplified example showing a matchingsystem 320 that receives information from agents 302, 306, 310, and 316.Agent 302 may detect devices 304, agent 306 may detect devices 308 and314, while agent 310 may detect device 312 and 314. Agent 316 may detectdevices 318.

The example of embodiment 300 illustrates several mechanisms orsituations where inferences about proximity may be drawn based on whatinformation the agents may collect.

Agent 316 detecting devices 318 illustrate a case where the onlyproximal devices are devices 318. Because there are no commonconnections between the agent 316 and devices 318 and any other agentand devices, the devices 318 identified by the agent 316 can only beinferred to be proximal to each other. When the agent 316 is in a knownlocation, either by virtue of having a GPS receiver, IP addresslocation, manual location entry, or other mechanism, the devices 318within range of the agent 316 may be determined to be in the physicalarea of the agent 316.

Agent 302 may detect devices 304 as well as agent 306. Because agent 302and agent 306 are detected by each other, the devices 304 may beinferred to be nearby the devices 308, even though both sets of deviceswere detected by different agents.

Agents 306 and 310 may detect a common device 314. Because both agents306 and 310 detect a common device 314, the location of the agents 306and 310 may be inferred to be nearby each other and therefore, thedevices 308 detected by agent 306 may be inferred to be nearby devices312 detected by agent 310.

In some embodiments, the link between agents 306 and 310 may be madewhen both agents 306 and 310 detect the same device 314 simultaneously.In some embodiments, the detection may occur within a specific timeperiod, such as seconds, minutes, or hours, to determine that agents 306and 310 are nearby each other.

In some cases, the various agents may be contained in mobile devices,such as cellular telephones, laptop computer, tablet computers, or otherdevices. When using mobile agents, the matching system 320 may inferlocation and proximity of many different devices by analyzing thecurrent data collected and matching any commonly identified devices oragents. In many cases, the commonly identified devices, such as device314, may not be a device that may be registered with the matching system320 but may be used for matching the agents 306 and 310.

FIG. 4 is a flowchart illustration of an embodiment 400 showing a methodfor managing user profiles. Embodiment 400 is a simplified example of amethod that may be performed by a profile manager, such as the profilemanager 130 of embodiment 100.

Other embodiments may use different sequencing, additional or fewersteps, and different nomenclature or terminology to accomplish similarfunctions. In some embodiments, various operations or set of operationsmay be performed in parallel with other operations, either in asynchronous or asynchronous manner. The steps selected here were chosento illustrate some principles of operations in a simplified form.

The operations of embodiment 400 illustrate one mechanism by which auser may establish an account with a matching system.

In block 402, the user may make contact with the profile manager andestablish a user profile in block 404. The user profile may include auser name, password, alias or nickname, or other information. In somecases, a user may upload photographs, provide links to social networksites, or other activities.

In some cases, the profile manager may collect personally identifiableinformation. In such cases, the user may give explicit permission forsuch information to be collected and may be able to restrict the usageof and access to such information.

For each device the user may register in block 406, a wirelessidentifier may be captured in block 408 and may be associated with theprofile in block 410.

In many embodiments, a user may have a client device that has receiversfor Bluetooth, WiFi, WiMAX, or other wireless devices. Such a clientdevice may be a personal computer, for example. When the wirelessidentifier is captured in block 408, the user may be instructed to placetheir device in a discovery mode or to activate the device such that theclient device may be able to sense the device. The client device maycapture the identifier over the air and store the identifier. In someembodiments, the user may have to manually type an address, such as aMAC address, in order to capture the identifier.

After collecting identifiers for the various wireless devices, theuser's privacy settings may be captured. In some embodiments, the usermay permit access to the user's information for a limited number or typeof applications, as well as restrict usage of the information to outsideorganizations.

The user profile may be stored in block 414.

In many embodiments, a user may be able to edit their profile repeatedlyto add new devices, remove devices, change privacy settings, add ordelete other information in the profile, or perform other edits orchanges.

The foregoing description of the subject matter has been presented forpurposes of illustration and description. It is not intended to beexhaustive or to limit the subject matter to the precise form disclosed,and other modifications and variations may be possible in light of theabove teachings. The embodiment was chosen and described in order tobest explain the principles of the invention and its practicalapplication to thereby enable others skilled in the art to best utilizethe invention in various embodiments and various modifications as aresuited to the particular use contemplated. It is intended that theappended claims be construed to include other alternative embodimentsexcept insofar as limited by the prior art.

What is claimed is:
 1. A system comprising: an agent communicator thatreceives wireless broadcast identifiers from a plurality of agents; aproximity matcher that matches wireless broadcast identifiers with afirst agent to determine and to form a group of broadcast identifier,the proximity matcher identifies two related agents by finding a commonbroadcast wireless identifier received by two related agents; a profilematcher that retrieves a profile for each of said wireless broadcastidentifier; and an application preprocessor that generates a set ofapplication consumable information based on said profiles.
 2. The systemof claim 1 further comprising: a profile manager that receives a profilerequest from a user and associates user information with at least onewireless broadcast identifier to create one of said profiles.
 3. Thesystem of claim 2, said profile comprising a plurality of wirelessbroadcast identifiers.
 4. The system of claim 2, said profile furthercomprising a set of personally identifiable information policiesselected by said user.
 5. The system of claim 1, said broadcast wirelessidentifiers being received with timestamps.
 6. The system of claim 1,said proximity matcher receiving said broadcast wireless identifiers ona repeating basis.
 7. The system of claim 1, said agent communicatorreceiving a geophysical location identification from a first agent. 8.The system of claim 1, said set of application consumable informationcomprising summarized information a plurality of users associated withsaid group of wireless broadcast identifiers.
 9. The system of claim 1further comprising: an application communicator that transmits said setof application consumable information to an application.
 10. The systemof claim 9, said application being executed on a first agent.
 11. Thesystem of claim 9, the proximity matcher identifies two related agentsby identifying two agents receiving a wireless broadcast identifier of adevice within a predetermined time period.
 12. A method comprising:receiving a plurality of wireless broadcast identifiers gathered from aplurality of agents, each of said wireless broadcast identifiers beingassociated with a specific agent; matching said wireless broadcastidentifiers to form groups of users having a physically proximatelocation, each of said users being associated with at least one wirelessbroadcast identifier, the matching comprising identifying a plurality ofagents having physical proximity and determining a group comprising aplurality of users associated with all of the plurality of agents thephysical proximity being determined by having a first wireless broadcastidentifier in common; creating a set of application consumableinformation comprising information determined from profiles associatedwith said users in said groups of users; and transmitting saidapplication consumable information to an application.
 13. The method ofclaim 12, said first wireless broadcast identifier being received bysaid plurality of agents within a predefined period of time.
 14. Themethod of claim 12, said wireless broadcast identifier being transmittedunder a radio standard being one of a group composed of: Bluetooth;cellular telephony; IEEE 802.11; and IEEE 802.16.
 15. The method ofclaim 12, the physical proximity being determined by two agentsreceiving a wireless broadcast identifier of a device within apredetermined time period.
 16. A system comprising: a plurality ofgathering agents, each of said gathering agents that receives broadcastidentifiers from wireless devices and transmits said broadcastidentifiers to a remote service; a remote service that: receives aplurality of wireless broadcast identifiers and agent identifiers fromsaid plurality of gathering agents; for at least a subset of saidwireless broadcast identifiers, identifies a user profile associatedwith said wireless broadcast identifier; forms a group of proximateusers by matching said wireless broadcast identifiers associated withsaid gathering agents; creates a set of application consumableinformation comprising information determined from said user profiles;and transmits said application consumable information to an application.17. The system of claim 16, said gathering agents that gather saidwireless broadcast identifiers from a plurality of user devices withoutestablishing two way communications with said user devices.
 18. Thesystem of claim 17, said application being configured to establish twoway communications with said user devices through a secondarycommunication path, said secondary communication path being a differentcommunication path than a wireless communication path that broadcastsaid broadcast wireless identifier.